Information processing apparatus and control method thereof, and computer program

ABSTRACT

An information processing apparatus comprising display unit configured to display a window, accepting unit configured to accept a resize instruction of the displayed window together with a scroll instruction indicating whether or not to scroll display contents within the window, and control unit configured to control a size of the window and a scrolling of the display contents within the window based on contents of the resize instruction and the scroll instruction, wherein when the scroll instruction indicates that the display contents are to be scrolled, the control unit changes the window to a size indicated by the resize instruction, and scrolls the display contents according to a change amount of the window, and when the scroll instruction indicates that the display contents are not to be scrolled, the control unit changes the window to a size indicated by the resize instruction, and suppresses a scrolling of the display contents.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of application Ser. No. 12/170,994,filed Jul. 10, 2008, the entire disclosure of which is herebyincorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatus andcontrol method thereof, and a computer program.

2. Description of the Related Art

Conventionally, an information processing system, which cansimultaneously execute a plurality of applications with user interfaces,can display a plurality of windows corresponding to the applications atthe same time, and can control the respective windows to serve asindependent user interfaces.

In such a case, the information processing system can display theplurality of windows by one of the following methods. A method ofoverlapping the windows at arbitrary locations according to the rule ofa predetermined priority order upon displaying the respective windows isavailable (overlap method). Also, a method of tiling the windows withoutoverlapping each other upon displaying the respective windows isavailable (tiling window method). In general, when many windows need tobe displayed within a limited display screen, the overlap method is moreeffective.

Most of windows allow modification of their sizes and locations in the Xand Y directions independently or simultaneously. When the overlapmethod is used, the windows need to be moved or resized to avoidcompletely covered windows as a result of window overlap.

When a plurality of applications run in parallel, and correspondingwindows are displayed at the same time, a display controller of aninformation processing apparatus displays a window to be prioritized ora window selected by the user for access in front of all other windowsin each case. The whole area of the window displayed in front of allother windows is displayed, and partial areas of other windows aredisplayed based on their overlapping states.

However, in this situation, when the user wants to frequently access awindow hidden by other windows or to refer to its contents, the userneeds to make a predetermined operation for windows. This operationincludes that of switching display to locate a desired window in frontof all other windows and that of downsizing or moving the windowslocated in front of the target window.

In general, upon resizing a window (e.g., to reduce its size), itbecomes difficult to display all the contents displayed before resizingwithin the resized window. For this reason, only partial contents to beprioritized are displayed. The sequence for determining such part to beprioritized is executed either automatically or manually.

A window is resized by dragging one border or corner of the window. Thewindow is moved by dragging a specific region which is not used forresizing.

Upon resizing a window, there is a specification prepared in advance foreach window type, and display control upon resizing is performed basedon the specification. More specifically, a specification that moves thedisplay contents upon dragging when a window is resized by dragging oneborder or corner is available. Also, a specification that does not movethe display contents irrespective of dragging is available. Furthermore,a specification that moves the display contents to have a predeterminedratio with respect to dragging or reduces or modifies them is available.

These specifications are determined in advance for respective windowtypes or for respective places to be dragged even on one window. Notethat in the present specification, moving the display contents of awindow upon resizing the window will be referred to as “scrolling”.

A general display control method upon resizing a window will bedescribed below.

FIG. 21 shows the configuration of a window to be displayed on a displaydevice. FIG. 21 shows a window that displays a document. FIGS. 22A to22D and FIGS. 23A to 23D are explanatory views of popular displaycontrol methods upon resizing a window.

FIGS. 22A to 22D are views showing cases in which the window shown inFIG. 21 is resized by dragging one of the four borders.

In general, upon resizing the window by moving the right or bottomborder of the four borders, the display contents near the borderopposite to the border to be moved remain unchanged, and those near theborder to be moved are changed. FIGS. 22A and 22C show the cases inwhich the window size is reduced by moving the right or bottom border.In these cases, the display contents near the border to be moved aregradually hidden.

Upon resizing the window by moving the left or top border of the fourborders, the display contents near the border to be moved remainunchanged, and those near the border opposite to the border to be movedare changed. FIGS. 22B and 22D show the cases in which the window sizeis reduced by moving the left or top border. In these cases, the displaycontents near the right or bottom border opposite to the border to bemoved are gradually hidden.

FIGS. 23A to 23D show cases in which the window shown in FIG. 21 isresized by dragging the corners of the window. Note that the corners ofthe window mean the intersections of the respective borders that definethe window.

As shown in FIGS. 23A to 23D, when the window is resized by dragging theupper left, upper right, lower left, and lower right corners of thewindow, the display contents near the upper left corner remainunchanged, and those near other corners are gradually hidden.

The concept of the display control shown in FIGS. 22A to 22D and FIGS.23A to 23D is to basically preferentially display the left and updirections of the display contents of a window. On the other hand, manywindows which aim at the drawing function and display of general figuresdo not always preferentially display the left and up directions, anddifferent specifications are determined in advance for respective windowtypes.

Many specifications associated with resizing of a window are designed tonaturally locate the contents to be prioritized at a display position ifthe user normally makes a resizing operation. However, a part that theuser wants to display does not always move to the display position, andan operation for individually shifting the position of the displaycontents after resizing is often required.

Most windows have scroll bars to shift the position of the displaycontents. In general, the user can move the contents that the user wantsto display or access to the position within the window by operating thescroll bar.

The inventions that improve the operations for resizing a window bydragging, for example, a predetermined part of the window are disclosedin Japanese Patent Nos. 2765615 and 3431795.

On the other hand, a certain window often configures parent and childwindows defined by predetermined specifications so as to prevent relatedwindows from being uneasy to see due to overlap display or to preventcorrespondence between the related windows from confusing.

The inventions that relate to a method of controlling the relationshipbetween the parent and child windows upon resizing a window aredisclosed in Japanese Patent Laid-Open No. 9-185480 and Japanese PatentNo. 3586351.

In order to resize (especially, reduce) a window and to preferentiallydisplay a desired part, use of the display control specificationdetermined in advance for each window type does not suffice. In manycases, the user needs to perform two operations step by step in such amanner that the user is required to scroll the display contents by apredetermined amount in a predetermined direction after resizing. Suchrequirement results in inefficiency upon making various operations on acomputer, thus decreasing productivity accordingly.

SUMMARY OF THE INVENTION

Embodiments of the present invention provides a technique that allowsthe user to arbitrarily and intuitively perform an operation for movinga desired part to be prioritized to a predetermined locationconcurrently with resizing during resizing a window.

According to an exemplary embodiment of the present invention, there isprovided an information processing apparatus comprising, display unitconfigured to display a window, accepting unit configured to accept aresize instruction of the displayed window together with a scrollinstruction indicating whether or not to scroll display contents withinthe window, and control unit configured to control a size of the windowand a scrolling of the display contents within the window based oncontents of the resize instruction and the scroll instruction, whereinwhen the scroll instruction indicates that the display contents are tobe scrolled, the control unit changes the window to a size indicated bythe resize instruction, and scrolls the display contents according to achange amount of the window, and when the scroll instruction indicatesthat the display contents are not to be scrolled, the control unitchanges the window to a size indicated by the resize instruction, andsuppresses a scrolling of the display contents.

According to another exemplary embodiment of the present invention,there is provided a method of controlling an information processingapparatus comprising, displaying a window on a display unit, accepting aresize instruction of the displayed window together with a scrollinstruction indicating whether or not to scroll display contents withinthe window, and controlling a size of the window and a scrolling of thedisplay contents within the window based on contents of the resizeinstruction and the scroll instruction, wherein when the scrollinstruction indicates that the display contents are to be scrolled, thewindow is changed to a size indicated by the resize instruction, and thedisplay contents are scrolled according to a change amount of thewindow, and when the scroll instruction indicates that the displaycontents are not to be scrolled, the window is changed to a sizeindicated by the resize instruction, and scrolling of the displaycontents is suppressed.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a block diagram showing an example of the hardwarearrangement of an information processing apparatus according anembodiment of the invention;

FIG. 1B shows an example of the arrangement of a mouse as an example ofan operation unit 109 according the embodiment of the invention;

FIG. 1C shows an example of the arrangement of a digital pen and tabletas an example of the operation unit 109 according the embodiment of theinvention;

FIG. 2 shows an example of the configuration of a window according theembodiment of the invention;

FIGS. 3A to 3D show display examples when the user locates a cursor on afirst or second region of a top border 201 or bottom border 202 of awindow and drags it according to the first embodiment of the invention;

FIGS. 4A to 4D show display examples when the user locates the cursor ona first or second region of a left border 203 or right border 204 of awindow and drags it according to the first embodiment of the invention;

FIG. 5A is a view for explaining ON/OFF switching of scrolling uponresizing according to the first embodiment of the invention;

FIG. 5B is a view for explaining ON/OFF switching of scrolling uponresizing when the cursor position is changed from the display state ofFIG. 5A;

FIG. 6 is a flowchart showing an example of window resizing processingaccording to the first embodiment of the invention;

FIG. 7A shows an example of a state in which the size of a window 200matches that of a whole display screen 700 according to the secondembodiment of the invention;

FIG. 7B shows an example of a state in which the size of the window 200changes when the user locates a cursor 701 on a second region 203 b anddrags it in the X direction according to the second embodiment of theinvention;

FIG. 7C shows an example of a state in which the size of the window 200changes when the user locates the cursor 701 on a first region 203 a anddrags it in the X direction according to the second embodiment of theinvention;

FIG. 8A shows an example of a state in which the size of the window 200matches that of the whole display screen 700 according to the secondembodiment of the invention;

FIG. 8B shows an example of a state in which the size of the window 200changes when the user locates the cursor 701 on a second region 202 band drags it in the Y direction according to the second embodiment ofthe invention;

FIG. 8C shows an example of a state in which the size of the window 200changes when the user locates the cursor 701 on a first region 202 a anddrags it in the Y direction according to the second embodiment of theinvention;

FIG. 9A shows an example of a state before the beginning of draggingwhen the user locates a cursor P on a corner 209 (P0) in a displaycontrol method according to the third embodiment of the invention;

FIG. 9B shows an example of a state in which the user moves the cursor Pfrom the position P0 on the corner 209 to a position P1 in the displaycontrol method according to the third embodiment of the invention;

FIG. 9C shows an example of a state in which the user moves the cursor Pfrom P1 to P2 in the display control method according to the thirdembodiment of the invention;

FIG. 10 is a flowchart showing an example of window resizing processingaccording to the third embodiment of the present invention;

FIG. 11 shows an example of a window including a plurality ofsub-windows;

FIG. 12 is a view for explaining the fourth embodiment of the inventiontaking as an example a window which is divided into left and rightsub-windows as first and second sub-windows;

FIG. 13 shows an example of a change in display contents when the usermoves a boundary in a window divided by one boundary according to thefourth embodiment of the invention;

FIG. 14 is a flowchart showing an example of window resizing processingaccording to the fourth embodiment of the invention;

FIGS. 15A and 15B show division examples of boundaries;

FIG. 16 shows an example of display contents of a window according tothe fifth embodiment of the invention;

FIGS. 17A and 17B show display examples when the user resizes (reduces)the window by dragging one border of the window according to the fifthembodiment of the invention;

FIGS. 18A and 18B show display examples when the user resizes the windowby dragging one corner of the window according to the fifth embodimentof the invention;

FIGS. 19A and 19B show display examples that allow a normally hiddenpart to be easier to see according to the fifth embodiment of theinvention;

FIG. 20 is a flowchart showing an example of window resizing processingcorresponding to the display examples shown in FIGS. 17A and 17B;

FIG. 21 shows the configuration of a window displayed on a displaydevice;

FIGS. 22A to 22D show cases in which the user resizes the window shownin FIG. 21 by dragging one of four borders; and

FIGS. 23A to 23D show cases in which the user resizes the window shownin FIG. 21 by dragging one of four corners of the window.

DESCRIPTION OF THE EMBODIMENTS

Embodiments of the invention will be described hereinafter withreference to the accompanying drawings.

The present invention provides a technique which arbitrarily controls,concurrently with dragging, whether or not to scroll the displaycontents of a window in response to dragging upon resizing the window bydragging an element (border, corner, boundary, etc.) which configuresthe window.

In particular, the present invention proposes the following threecontrol techniques.

The first control technique covers a case in which the user resizes awindow by mainly dragging one border of the window. This technique ischaracterized in that a direction component, which is not directlyrelated to resizing, of those of the cursor motion upon movement is usedin control. In corresponding embodiments, two different regions areformed on each border of a window, and ON/OFF of scrolling can becontrolled concurrently with dragging by selecting that region whiledragging.

The second control technique is characterized in that ON/OFF ofscrolling is controlled by operating a button other than that fordragging of an operation unit upon making a drag movement. Thistechnique can be applied to both a case of dragging a corner and that ofdragging a border.

The third control technique executes control by cooperating the firstand second control techniques. With this technique, on a windowincluding a plurality of sub-windows, each sub-window is resized bydragging a boundary of the sub-window. In case of the window includingthe plurality of sub-windows, since each boundary is independentlycontrolled, this technique can also be applied to a window includingmany sub-windows.

First Embodiment

The first embodiment of the invention will be described hereinafter.This embodiment will explain an embodiment that relates to the firstcontrol technique.

FIG. 1A is a block diagram showing an example of the hardwarearrangement of an information processing apparatus used to implement thepresent invention. Referring to FIG. 1A, a CPU 101 executes an OS,application programs, and the like stored in an HD (hard disk) 103, andcontrols to temporarily store information, files, and the like requiredfor execution of the programs in a RAM 102. The RAM 102 serves as a mainmemory, work area, and the like of the CPU 101. The HD 103 stores theapplication programs, driver programs, the OS, control programs, aprocessing program required to execute processing according to thisembodiment, and the like.

A display unit 104 displays information according to commands input froman operation unit 109, externally acquired information, and the like.The display unit 104 may adopt any display method of CRT type, liquidcrystal type, PDP type, SED type, and organic EL type. The display unit104 displays a window according to this embodiment. A network interface(to be referred to as “I/F” hereinafter) 105 is a communicationinterface used to connect a network. A ROM 106 stores programs such as abasic I/O program and the like.

An external storage drive 107 can load programs and the like stored in amedium 108 to this computer system. The medium 108 as a storage mediumstores predetermined programs and related data. The operation unit 109is a user interface used to accept operations and instructions from anoperator of this apparatus, and comprises a keyboard, mouse, digitalpen, and the like. A system bus 110 controls the flow of data in theapparatus.

Note that a mouse, digital pen, and tablet as examples of the operationunit 109 can have the arrangements shown in, for example, FIGS. 1B and1C. In this case, the mouse and tablet are connected to an informationprocessing apparatus 100 using USB connections, and can serve as theoperation unit 109.

A mouse 120 shown in FIG. 1B can constitute a part of the operation unit109. The mouse 120 has the left button 121 and the right button 122.Although not shown, the bottom surface of the mouse 120 comprises astructure for detecting a moving amount and direction of the mouse 120using a mechanical mechanism using a ball or an optical mechanism usingan optical sensor.

A digital pen 130 and tablet 140 shown in FIG. 10 can constitute a partof the operation unit 109. The digital pen 130 can comprise a tip switch131 at the pen tip, and a side switch 132 on the side surface. The tipswitch 131 corresponds to the left button 121 of the mouse 120, and theside switch 132 corresponds to the right button 122 of the mouse 120.The tip switch 131 can be turned on by pressing it against the tablet140. The side switch 132 can be turned on when the operator holds itdown with the finger.

The tablet 140 comprises a pressure-sensitive or electrostatic contactsensor, and can detect the position of the digital pen 130 when the tipof the digital pen 130 is pressed against the tablet 140. When theoperator moves the digital pen 130 while pressing the tip against thetablet 140, the tablet 140 can detect the moving direction and amount ofthe digital pen 130. Note that the tablet 140 may be integrated with thedisplay unit 104.

An example of the configuration of a window according to the embodimentof the invention will be described below with reference to FIG. 2. FIG.2 shows an example of the configuration of a window according to theembodiment of the invention.

Referring to FIG. 2, a window 200 has a rectangular shape, and isdefined by four borders, that is, a top border 201, bottom border 202,left border 203, and right border 204. The window 200 has four corners207, 208, 209, and 210. The corner 207 is defined as an intersectionbetween the top border 201 and left border 203, the corner 208 isdefined as an intersection between the left border 203 and bottom border202, the corner 209 is defined as an intersection between the bottomborder 202 and right border 204, and the corner 210 is defined as anintersection between the right border 204 and top border 201.

In this embodiment, each border is divided into two different regions,that is, first and second region. More specifically, the first region islocated to include the center of the border, and the second region islocated to include the end portions of the border, and to sandwich thefirst region. For example, on the top border 201, a first region 201 aincluding the center of the border is located to be sandwiched betweensecond regions 201 b including the end portions of the border.

As the division method of the first and second region, each border maybe equally divided into three or the first region may be slightly longeror shorter than the length obtained when the border is equally dividedinto three regions. This embodiment will exemplify a case in which oneborder is equally divided into three regions.

The window 200 includes a title bar 205 and display area 206. The titlebar 205 displays information corresponding to the content displayed inthe display area 206. For example, when the display area 206 displaysdocument data, the title bar 205 displays a document name. The displayarea 206 displays the contents of data to be displayed. The display area206 displays the contents of a document for a document file, or displaysa corresponding image or graphic information for an image or graphicfile.

In this embodiment, the window can be resized by dragging one of thefour borders of the window based on the operation of the operation unit109, and moving the selected border in a direction perpendicular to thatborder. That is, in this embodiment, the drag operation corresponds to awindow resize instruction operation. As will be described in detailbelow, the present invention is characterized in that the window resizeinstruction, including a scroll instruction indicating whether or not toscroll the display contents within the window, is accepted.

Note that this embodiment uses “drag” as a term that represents theconcept to be described below. A case will be examined first wherein themouse shown in FIG. 1B is used as the operation unit 109 to have defaultsettings of Microsoft Windows®. In this case, the display position of acursor displayed on the screen of the display unit 104 is controlled inresponse to the movement of the mouse 120. When the user presses theleft button 121 while the cursor is located on a target to be selected,that target to be selected is highlighted. In this embodiment, movingthe cursor by moving the mouse 120 in this state will be referred to as“dragging”.

A case will be examined below wherein the digital pen 130 and tablet 140shown in FIG. 1C are used as the operation unit 109. In this case, thedisplay position of the cursor displayed on the screen of the displayunit 104 is controlled in response to the position of the digital pen130 pressed against the tablet 140. When the user presses the digitalpen 130 against the tablet 140 at a position corresponding to thedisplay position of a target to be selected, the target to be selectedis highlighted. In this embodiment, moving the cursor by moving thedigital pen 130 on the tablet 140 in this state will be referred to as“dragging”.

FIGS. 3A to 3D show display examples according to this embodiment whenthe user drags the cursor while locating it on the first or secondregion of the top border 201 or bottom border 202 of the window in thedisplay state of FIG. 2. FIGS. 4A to 4D show display examples accordingto this embodiment when the user drags the cursor while locating it onthe first or second region of the left border 203 or right border 204 ofthe window in the display state of FIG. 2. Note that a frame indicatedby the dotted line in each figure represents a frame corresponding tothe window 200 in FIG. 2 before resizing.

As shown in FIGS. 3A and 3C and FIGS. 4A and 4C, when the user drags thecursor while the user locates it on the first region (region 201 a, 202a, 203 a, or 204 a), the display contents near a border (first border)where the cursor is located remain unchanged. On the other hand, thedisplay contents near a border (second border) opposite to the border(first border) where the cursor is located are changed so as to behidden in turn by the second border.

In FIGS. 3A and 3C and FIGS. 4A and 4C, it can also be considered as ifthe display contents were moving in correspondence with the movement ofthe border. In this embodiment, such change in display contents will bereferred to as “resizing with scrolling”. Also, a state in which thedisplay contents of the display area 206 are moved and displayed incorrespondence with the movement of the border will be referred to as“with scrolling”, “the display contents are scrolled”, or “scrolling thedisplay contents”.

As shown in FIGS. 3B and 3D and FIGS. 4B and 4D, when the user drags thecursor while the user locates it on the second region (201 b, 202 b, 203b, or 204 b), the display contents near a border (first border) wherethe cursor is located are changed. More specifically, the displaycontents are changed so as to be hidden in turn by the first border. Onthe other hand, the display contents near a border (second border)opposite to the border (first border) where the cursor is located remainunchanged.

In FIGS. 3B and 3D and FIGS. 4B and 4D, it can also be considered as ifthe display contents are fixed with respect to the movement of theborder. In this embodiment, such change in display contents will bereferred to as “resizing without scrolling”. A state in which thedisplay contents on the display area 206 are fixedly displayed withrespect to the whole display screen will be referred to as “withoutscrolling”, “the display contents are not scrolled”, or “not scrollingthe display contents”.

In this embodiment, “resizing with scrolling” and “resizing withoutscrolling” can be executed during resizing in a continuous dragoperation. That is, the resizing with scrolling and that withoutscrolling can be switched in real time during a continuous, single dragoperation. Hence, the user can resize the window while adjusting thedisplay position.

Switching between the resizing with scrolling and that without scrollingwill be described below with reference to FIGS. 5A and 5B. FIGS. 5A and5B are views for explaining that switching according to this embodiment.

A case will be examined below wherein the user reduces the window 200 bydragging the left border 203 of the window and moving it in a directionof an arrow 501 (right direction), as shown in FIG. 5A. Note that thewidth and height directions of the window 200 respectively match the Xand Y directions of an X-Y coordinate system 502 set on the displayscreen where the window 200 is displayed. P0 represents an initialposition of the cursor.

FIG. 5B expresses a state in which a position P(Px, Py) of the cursor iscontinuously changed like P0→P1→P2→P3 or P5→P6→P7→P8 during a singledrag operation. Note that P(Px, Py) is a coordinate value based on theX-Y coordinate system 502 set on the display screen.

In FIG. 5B, let Ly be the length of the left border 203, and C(Cx, Cy)be the position of the corner 208 corresponding to the lower end of theleft border 203 to be dragged. Note that Cx corresponds to the positionof the left border 203 in the X direction. Also, let Q(Qx, Qy) be theposition of arbitrary display contents on the display area 206 of thewindow 200. Note that the respective coordinates are based on theaforementioned X-Y coordinate system 502.

While dragging the left border 203, since the position Cx of the leftborder 203 in the X direction follows an X component of the cursorposition (it is not related to a Y component), it can be expressed by:

Cx=Px  (1)

From equation (1), since the cursor is kept located on the left borderduring dragging, a condition required to locate the cursor on the firstregion is described by:

Ly/3≦Py−Cy≧2Ly/3

Likewise, a condition required to locate the cursor on one of the secondregions 203 b of the left border 203 is described by:

0<Py−Cy<Ly/3 or 2Ly/3<Py−Cy <Ly

Therefore, upon making a drag operation while the cursor is located onthe second region to attain the resizing without scrolling, this processcan be expressed in association with the point Q by:

ΔQx=0  (2)

where ΔQx is a difference between Qx at the beginning of the resizingwithout scrolling, and Qx after the window is resized.

Likewise, upon making a drag operation while the cursor is located onthe first region to attain the resizing with scrolling, this process canbe expressed in association with the position Q by:

ΔQx=ΔCx=ΔP  (3)

where ΔQx is a difference between Qx at the beginning of the resizingwith scrolling, and Qx after the window size is resized. Likewise, ΔCxand ΔPx are differences between Cx and Px at the beginning of theresizing with scrolling, and Cx and Px after the window is resized. Notethat these differences correspond to change amounts of the window 200 inthe X direction.

Upon application of the above concept to FIG. 5B, when the cursorposition falls within a range from P0 to P1, and from P2 to P3, sincethe cursor belongs to the second region 203 b, ΔQx=0, and the resizingwithout scrolling is executed. When the cursor position falls within arange from P1 to P2, since the cursor belongs to the first region 203 a,ΔQx=ΔPx, and the resizing with scrolling is executed.

That is, while the cursor begins to be dragged from P0 and iscontinuously dragged to be moved to P3, the position of the left border203 of the window 200 moves from C0 to C3 according to the X componentof the cursor, thus resizing the window. During this operation, the“resizing with scrolling” and “resizing without scrolling” are executedconcurrently according to a change in position of the cursor in the Ydirection.

The same applies to a case in which the user upsizes the window bymoving the cursor position like P5→P6→P7→P8. That is, when the cursorposition falls within a range from P5 to P6 and from P7 to P8, since thecursor belongs to the second region 203 b, ΔQx=0, and the resizingwithout scrolling is executed. When the cursor position falls within arange from P6 to P7, since the cursor belongs to the first region 203 a,ΔQx=ΔPx, and the resizing with scrolling is executed.

That is, while the cursor begins to be dragged from P5 and iscontinuously dragged to be moved to P8, the position of the left border203 of the window 200 moves from C3 to C0 according to the X componentof the cursor, thus resizing the window. During this operation, the“resizing with scrolling” and “resizing without scrolling” are executedconcurrently according to a change in position of the cursor in the Ydirection.

Note that the case has been exemplified in FIG. 5B wherein the leftborder 203 is dragged. Also, the same applies to the case wherein thetop, bottom, and right borders (borders 201, 202, and 204) are dragged.

The sequence of the aforementioned window resizing processing will bedescribed below with reference to the flowchart of FIG. 6. FIG. 6 is aflowchart showing an example of the window resizing processing accordingto the first embodiment. The processing corresponding to the flowchartshown in FIG. 6 is implemented when the CPU 101 reads out acorresponding processing program stored in the HD 103 onto the RAM 102and executes that program to control respective components.

Note that FIG. 6 describes a case wherein the user resizes the window bydragging the left border 203 of the window 200. However, the embodimentof the invention is not limited to the case wherein the left border 203is dragged. That is, the same processing as in FIG. 6 can resize thewindow by dragging the top border 201, bottom border 202, and rightborder 204.

In step S601, the CPU 101 acquires operation information (information ofa first instruction operation) of a first button of the mouse 120 ordigital pen 130 of the operation unit 109, and information (movinginformation) of the moving direction and amount of the mouse 120 ordigital pen 130. Note that the first button (first operation unit)corresponds to the left button 121 of the mouse 120 if the mouse 120 isused in the default settings of Microsoft Windows®. Also, the firstbutton corresponds to the tip switch 131 at the pen tip of the digitalpen 130.

The CPU 101 determines in step S602 based on the operation informationof the first button acquired in step S601 whether or not the firstbutton is switched from OFF to ON. If it is determined that the firstbutton is switched to ON (“YES” in step S602), the process advances tostep S603. On the other hand, if it is determined that the first buttonis kept OFF without being switched to ON (“NO” in step S602), theprocess returns to step S601 to continue the processing.

In step S603, the CPU 101 calculates the position coordinate of thecursor (cursor position coordinate) based on the moving amountinformation acquired in step S601 to determine on which border of thewindow 200 the cursor is located. This determination process can beattained by seeing which of predetermined regions set based on the firstand second regions of the borders that configure the window 200 includesthe cursor position coordinate.

If it is determined that the cursor is located on the left border 203 ofthe window 200 (“left border” in step S603), it can be determined thatthe user begins to drag the left border 203. In this case, the processadvances to step S604. On the other hand, if the cursor is located onone of the remaining borders (on one of the top border 201, bottomborder 202, and right border 204) (“another border” in step S603), itcan be determined that the user begins to drag another border. In thiscase, the process advances to step S605. In step S605, the CPU 101executes window resizing processing by dragging of another border.

In step S604, the CPU 101 determines the cursor position coordinateP(Px, Py) at the beginning of dragging, as shown in FIG. 5A, for thewindow which begins to be dragged. Also, the CPU 101 determines theposition C(Cx, Cy) of the corner 208 at the lower end of the left border203 and the position Q(Qx, Qy) of the arbitrary display contents, asshown in FIG. 5B.

In step S606, the CPU 101 further acquires the operation information ofthe first button and the moving amount information, and updates thecursor position coordinate P(Px, Py) based on the moving amountinformation. The CPU 101 then determines in step S607 whether or not thefirst button is kept ON. If the first button is not kept ON but isswitched to OFF (“NO” in step S607), this processing ends. In this case,a so-called “drop” operation is made.

On the other hand, if the first switch is kept ON (“YES” in step S607),the process advances to step S608. In step S608, the CPU 101 sets the Xposition (Cx) of the left border 203 of the window 200 to match the Xcomponent (Px) of the cursor position coordinate updated in step S606.In this way, the position of the left border 203 follows the movement ofthe cursor in the X direction.

The CPU 101 determines in step S609 based on the cursor positioncoordinate updated in step S606 whether or not the cursor is located onthe first region. If it is determined that the cursor is located on thefirst region (“YES” in step S609), the process advances to step S610. Onthe other hand, if it is determined that the cursor is located on thesecond region (“NO” in step S609), the process advances to step S611.

In step S610, the CPU 101 sets the moving amount ΔQx of the position Qof the arbitrary display contents in the X direction to be equal to themoving amount ΔPx of the cursor in the X direction, so as to scroll thedisplay contents upon resizing the window. On the other hand, in stepS611, the CPU 101 sets the moving amount ΔQx to be zero so as tosuppress scrolling of the display contents upon resizing the window.

In step S612, the CPU 101 updates display of the cursor and window 200based on the position of the left border 203 determined in step S608 andthe moving amount ΔQx determined in step S610 or S611. After that, theprocess returns to step S606 to continue the processing.

Note that a loop from step S606 to step S612 represents cursor movementduring dragging, that is, that dragging is continued and resizing of thewindow is in progress during this loop. When the control leaves thisloop, this represents that the drop operation is made to settle thewindow size.

As described above, according to this embodiment, since each border ofthe window is divided into two different regions, and the change methodof the display contents within the window can be controlled based on theselected region. Since the region can be selected in real time duringresizing of the window, the position of the display contents within thewindow can be controlled simultaneously with resizing. In this way, adesired display result can be obtained by a series of operations, thusimproving the work efficiency.

Second Embodiment

The second embodiment of the invention will be described hereinafter.This embodiment will explain an embodiment that extends the firstcontrol technique.

Upon displaying a window on a display unit 104, the following threedisplay states are normally available:

1. a display state in which both the height and width of the window aremaximized to fit a whole display screen (so-called full screen display);

2. a display state in which only one icon or title is displayed in asmall size (so-called minimum display); and

3. a display state in which the window occupies only a part of thedisplay screen.

The display states 1 and 3 will be compared. In case of the displaystate 1, since the window itself is fixed, there is no trouble uponhandling the window. However, in order to refer to another window, aswitching operation for canceling the full screen display state isrequired.

On the other hand, in case of the display state 3, there is a merit ofallowing the user to refer to a plurality of windows, but it istroublesome since the sizes and locations of the respective windows needto be determined and organized. Especially, when a relatively largewindow completely covers a relatively small window, the user needs tomove the upper window to an appropriate location to access the lowerwindow, resulting in inconvenience.

In this embodiment, in order to allow use of a window of a type thatconsiders the merits of both the display states, window display of thefirst embodiment is applied to so-called “full screen display”.

As described above, in “full screen display”, a window is maximized inthe X and Y directions of the display screen of the display unit 104,and is fixed in size. The window cannot be resized unless the fullscreen display state is canceled.

By contrast, in the full screen display according to this embodiment, awindow is maximized in only one of the X and Y directions within thedisplay screen, and is fixed in size in that direction. In the remainingdirection, one border is fixed to the end of the display screen, andonly the other border is movable by dragging. By operating this borderthat can be dragged, the window can be resized in one direction.

FIGS. 7A to 7C show examples of full screen display according to thisembodiment. In FIGS. 7A to 7C, reference numeral 700 denotes a wholedisplay screen of the display unit 104. Since the window configurationis the same as that in FIG. 2 of the first embodiment, correspondingreference numerals will be used. A left border 203 of a window 200includes first region 203 a and second regions 203 b. The user can dragthe first and second regions 203 a and 203 b using a cursor 701. Thedirections of the whole display screen 700 and window 200 are determinedbased on an X-Y coordinate system 502.

FIG. 7A shows a state in which the size of the window 200 matches thatof the whole display screen 700. That is, FIG. 7A corresponds to thefull screen display state.

FIG. 7B shows a state in which the window 200 is resized when the userlocates the cursor 701 on the second region 203 b and drags it in the Xdirection. By dragging in the X direction using the second region 203 b,the size of the window 200 changes in only the X direction. At thistime, a right border 204 opposite to the dragged left border 203 isfixed to the end of the display area, and only the left border 203 canbe dragged. With this movement, the window is resized in one direction.Note that the window 200 is fixed in a maximum size in the Y directionperpendicular to the dragging direction. Note that in case of FIG. 7B,since the second region 203 b is used, resizing without scrollingdescribed in the first embodiment is executed.

FIG. 7C shows a state in which the window is resized when the userlocates the cursor 701 on the first region 203 a and drags it in the Xdirection. By dragging in the X direction using the first region 203 a,the size of the window 200 changes in only the X direction. At this timeas well, the right border 204 opposite to the dragged left border 203 isfixed to the end of the display area, and only the left border 203 canbe dragged. With this movement, the window 200 is resized in onedirection. Note that the window 200 is fixed in a maximum size in the Ydirection perpendicular to the dragging direction. Note that resizingwith scrolling described in the first embodiment is executed since thefirst region 203 a is used at this time.

In FIGS. 7A to 7C, the left border 203 is used as a border having afunction of resizing the window. However, any of the remaining threeborders which configure the window 200 may be used as a border having afunction of resizing the window. For example, FIGS. 8A to 8C show a caseusing a bottom border 202. That is, FIG. 8A shows an example of a statein which the size of the window 200 according to this embodiment matchesthat of the whole display screen 700. FIG. 8B shows an example of astate in which the window 200 is resized when the user locates thecursor 701 on a second region 202 b and drags it in the Y directionaccording to this embodiment. FIG. 8C shows an example of a state inwhich the window is resized when the user locates the cursor 701 on afirst region 202 a and drags it in the Y direction according to thisembodiment. One and only difference between FIGS. 8A to 8C and FIGS. 7Ato 7C is a border used to resize the window.

Note that in this embodiment, a border that is movable can also bereferred to as a “movable border”, a border located at a positionopposite to the movable border can also be referred to as a “first fixedborder (opposing fixed border)”, and the remaining two borders can alsobe referred to as a “second fixed border” and “third fixed border”.

In case of FIGS. 7A to 7C, the left border 203 corresponds to themovable border, the right border 204 corresponds to the first fixedborder (opposing fixed border), and a top border 201 and the bottomborder 202 respectively correspond to the second and third fixedborders. In case of FIGS. 8A to 8C, the bottom border 202 corresponds tothe movable border, the top border 201 corresponds to the first fixedborder (opposing fixed border), and the left and right borders 203 and204 respectively correspond to the second and third fixed borders.

Note that the display position on a display area 206 of the window 200can be controlled in the same manner as in the first embodiment.However, an only difference is that the first and second regions givento all the four borders in the first embodiment are limited to only oneborder in this embodiment.

As described above, the window according to this embodiment ismaintained in a maximized state in one of the X and Y directions (widthand height directions). Therefore, upon reordering a plurality ofwindows, a one-dimensional positional relationship need only beconsidered. As a result, compared to reordering of windows inconsideration of a two-dimensional positional relationship, an operationcan be simplified very much, thus greatly eliminating complexity.

Since the window can be resized, a window hidden below the upper windowcan be displayed compared to a case in which a window is completelymaximized in both the X and Y directions, thus improving convenience.

Also, such window can be defined as a fourth window display state inaddition to the aforementioned window display states 1 to 3.

Note that the point of this embodiment is not limited to that the windowcan be resized in one direction in the full screen display state, but itlies in that the display position of the display contents within thewindow can be controlled at the time of the drag operation incombination with the invention according to the first embodiment.

Third Embodiment

The third embodiment of the invention will be described hereinafter.This embodiment will explain an embodiment which relates to the secondcontrol technique.

The aforementioned first embodiment has proposed the display controlmethod upon resizing the window by dragging one of the borders whichconfigure the window. This method is effective in the case in which thewindow is often resized by mainly dragging the border. Especially, thismethod is very effective for the window which is maximized in only onedirection, as described in the second embodiment.

However, a normal window can be resized by dragging one of its corners,as shown in FIGS. 23A to 23D. Whether each user drags the border orcorner to resize such normal window depends on favor of the user, thedisplay contents of individual applications, individual work contents,and the like.

This embodiment proposes a method that can control ON/OFF of scrollingduring resizing in real time as in the first embodiment even uponresizing a window by dragging its corner.

In the display control method according to the aforementioned firstembodiment, upon resizing a window by dragging its border, ON/OFFswitching of scrolling upon resizing is controlled based on the cursorposition in the direction perpendicular to the dragging direction.However, upon resizing a window by dragging its corner, the cursormovement needs to be instructed two-dimensionally. That is, since boththe X and Y components of the cursor movement get directly involved inthe movement of the corner, one component of the cursor movement cannotbe used in switching control between resizing with scrolling and thatwithout scrolling.

Hence, this embodiment uses ON/OFF of a second button of a mouse 120 ordigital pen 130 of an operation unit 109 in switching control betweenresizing with scrolling and that without scrolling upon resizing awindow. Note that the second button (second operation unit) correspondsto a right button 122 of the mouse 120 in the default settings ofMicrosoft Windows®. On the other hand, the second button corresponds toa side switch 132 on the side surface of the digital pen 130. Also, thesecond button may be assigned to a specific key such as a control key.

The operation of the display control method according to this embodimentwill be described below with reference to FIGS. 9A to 9C. FIG. 9A showsa state before the beginning of dragging, in which the user locates acursor P on a corner 209 (P0). FIG. 9B shows a state in which the usermoves the cursor P from the position P0 to a position P1 of the corner209. Upon this cursor movement, the user turns on the second button toexecute the resizing with scrolling. Furthermore, FIG. 9C shows a statein which the user moves the cursor P from P1 to P2. Upon this cursormovement, the user turns off the second button to execute the resizingwithout scrolling.

Note that a dotted line 901 in FIGS. 9B and 9C indicates the size of awindow 200 before resizing. The contents within a dotted line 902indicate the display contents falling outside the window 200 afterresizing.

It should be noted that the first button is kept ON during draggingirrespective of ON/OFF of the second button.

FIGS. 9A to 9C are views for explaining the display control method ofthis embodiment by adopting the configuration of the windowcorresponding to FIG. 2, but they omit descriptions of first and secondregions for the sake of simplicity. Note that the third embodiment canbe practiced in combination with the first embodiment, and thisembodiment can be applied to the window shown in FIG. 2, which has thefirst and second regions, just in case.

This embodiment can assure similar operations on any of four corners 207to 210 of the window 200, and the following description will be giventaking as an example a case in which the user drags the lower rightcorner 209.

In FIGS. 9A to 9C, parameters are defined as follows. Let C(Cx, Cy) bethe position of the corner 209 of the window 200, B(Bx, By) be theposition of a point corresponding to that immediately below the point Cin an initial state of the display contents within the window, and Q(Qx,Qy) be the position of arbitrary display contents within the window.Note that respective coordinate values are based on an X-Y coordinatesystem 502 set with respect to the display screen. Assume that theposition C changes like C0, C1, and C2, the position B changes like B0,B1, and B2, and the position Q changes like Q0, Q1, and Q2 incorrespondence with the movement of the cursor position from P0 to P1and to P2.

At the beginning of dragging, as shown in FIG. 9A, the user locates thecursor position P at the position of the lower right corner 209, andswitches the first button from OFF to ON there. At this time, P0=C0=B0.

During the movement of the cursor position from P0 to P1 after thebeginning of dragging in FIG. 9B, the corner 209 of the window 200 movesto follow the cursor, and the display contents within a display area 206also move to follow the cursor (since they are scrolled). At this time,P1=C1=B1. That is, the relationship among P, C, B, and Q can beexpressed by:

ΔC(ΔCx, ΔCy)=ΔP(ΔPx, ΔPy)  (4)

ΔB(ΔBx, ΔBy)=ΔP(ΔPx, ΔPy)  (5)

ΔQ(ΔQx, ΔQy)=ΔP(ΔPx, ΔPy)  (6)

where Δ indicates a change amount.

Furthermore, during the movement of the cursor position from P1 to P2 inFIG. 9C, the corner 209 of the window similarly moves to follow thecursor P. However, the display contents within the display area 206 donot follow the cursor movement since they are not scrolled in this case.At this time, P2=C2≠B2 (=B1). That is, the relationship among P, C, B,and Q can be expressed by:

ΔC(ΔCx, ΔCy)=ΔP(ΔPx, ΔPy)  (7)

ΔB(ΔBx, ΔBy)=(0, 0)  (8)

ΔQ(ΔQx, ΔQy) =(0, 0)  (9)

The sequence of the aforementioned window resizing processing will bedescribed below with reference to the flowchart of FIG. 10. FIG. 10 is aflowchart showing an example of the window resizing processing accordingto the third embodiment. The processing corresponding to the flowchartshown in FIG. 10 is implemented when a CPU 101 reads out a correspondingprocessing program stored in an HD 103 onto a RAM 102 and executes thatprogram to control respective components.

Note that FIG. 10 describes a case in which the user resizes the windowby dragging the lower right corner 209 of the window 200. The embodimentof the invention is not limited to the case in which the lower rightcorner 209 is dragged. That is, the same processing as in FIG. 10 canresize the window by dragging the upper left corner 207, lower leftcorner 208, and upper right corner 210.

In step S1001, the CPU 101 acquires operation information (informationof a first instruction operation) of a first button of the mouse 120 ordigital pen 130 of the operation unit 109, and information (movinginformation) of the moving direction and amount of the mouse 120 ordigital pen 130. Note that the first button corresponds to the leftbutton 121 of the mouse 120 if the mouse 120 is used in the defaultsettings of Microsoft Windows®. Also, the first button corresponds to atip switch 131 at the pen tip of the digital pen 130.

The CPU 101 determines in step S1002 based on the operation informationof the first button acquired in step S1001 whether or not the firstbutton is switched from OFF to ON. If it is determined that the firstbutton is switched to ON (“YES” in step S1002), the process advances tostep S1003. On the other hand, if it is determined that the first buttonis kept OFF without being switched to ON (“NO” in step S1002), theprocess returns to step S1001 to continue the processing.

In step S1003, the CPU 101 calculates the position coordinate of thecursor P (cursor position coordinate) based on the moving amountinformation acquired in step S1001 to determine on which corner of thewindow 200 the cursor is located. This determination process can beattained by seeing which of predetermined regions set based on thecorners that configure the window 200 includes the cursor positioncoordinate.

If it is determined that the cursor is located on the lower right corner209 of the window 200 (“lower right corner 209” in step S1003), it canbe determined that the user begins to drag the lower right corner 209.In this case, the process advances to step S1004. On the other hand, ifthe cursor is located on one of the remaining corners (on one of thecorners 207, 208, and 210) (“another ” in step S1003), it can bedetermined that the user begins to drag another corner. In this case,the process advances to step S1005. In step S1005, the CPU 101 executeswindow resizing processing by dragging of another corner.

In step S1004, the CPU 101 determines the position coordinates P(Px,Py), C(Cx, Cy), B(Bx, By), and Q(Qx, Qy) at the beginning of dragging,as shown in FIG. 9A, for the window which begins to be dragged. Notethat the definitions of respective coordinates are the same as thosedescribed above.

In step S1006, the CPU 101 further acquires the information of the firstinstruction operation and moving amount information, and also operationinformation of a second button (information of a second instructionoperation) of the mouse 120 or digital pen 130 of the operation unit109. Also, the CPU 101 updates the cursor position coordinate P(Px, Py)based on the moving amount information. The CPU 101 then determines instep S1007 whether or not the first button is kept ON. If the firstbutton is not kept ON but is switched to OFF (“NO” in step S1007), thisprocessing ends. In this case, a so-called “drop” operation is made.

On the other hand, if the first switch is kept ON (“YES” in step S1007),the process advances to step S1008. In step S1008, the CPU 101 sets theposition C(Cx, Cy) of the lower right corner 209 of the window 200 tomatch the cursor position P(Px, Py) updated in step S1006. In this way,the position of the lower right corner 209 follows the cursor movement.

The CPU 101 determines in step S1009 based on the operation informationof the second button acquired in step S1006 whether or not the secondbutton is ON. If it is determined that the second button is ON (“YES” instep S1009), the process advances to step S1010. On the other hand, ifit is determined that the second button is OFF (“NO” in step S1009), theprocess advances to step S1011.

In step S1010, the CPU 101 sets the moving amount ΔQ(ΔQx, ΔQy) of theposition Q of the arbitrary display contents to be equal to the movingamount ΔP(ΔPx, ΔPy) of the cursor. In this way, the display contents arescrolled by a size corresponding to the change amounts of the window 200in the X and Y directions. On the other hand, in step S1011, the CPU 101sets the moving amount ΔQ to be (0, 0). In this case, the displaycontents are not scrolled.

In step S1012, the CPU 101 updates display of the cursor and window 200based on the position of the lower right corner 209 determined in stepS1008 and the moving amount ΔQ determined in step S1010 or S1011. Afterthat, the process returns to step S1006 to continue the processing.

Note that a loop from step S1006 to step S1012 represents cursormovement during dragging, that is, that dragging is continued andresizing of the window is in progress during this loop. When the controlleaves this loop, this represents that the drop operation is made tosettle the window size.

As described above, according to this embodiment, the two differentoperation buttons of the operation unit 109 are used, and the changemethod of the display contents within the window can be controlled basedon combinations of the button operations. Since the combinations of thebutton operations can be changed in real time during resizing of thewindow, the position of the display contents within the window can becontrolled simultaneously with resizing. In this way, a desired displayresult can be obtained by a series of operations, thus improving thework efficiency.

Note that the case has been explained wherein the window is resized bymainly dragging the corner of the window. However, the display controlmethod according to this embodiment can be applied to a case wherein thewindow is resized by dragging its border. In this case, ON/OFF ofscrolling upon resizing can be controlled by the same operations in caseof dragging the corner and that of dragging the border.

Note that the display control method (first control technique) accordingto the first embodiment and that (second control technique) according tothis embodiment can be compared as follows.

The first control technique is effective upon attaching importance toresizing by dragging a border, and is especially effective in case ofthe second embodiment. In consideration of only the case of dragging theborder, the first control technique can achieve the desired resizing bya simpler operation than the second control technique.

By contrast, the second control technique is effective for the caseincluding probability of dragging of both the corner and border, and thecase that also attaches importance to dragging of the corner. Using thesecond control technique, the desired resizing can be achieved by commonoperation to the case of dragging the corner and that of dragging theborder.

Fourth Embodiment

The fourth embodiment of the invention will be described hereinafter.This embodiment will explain an embodiment that relates to theaforementioned third control technique.

This embodiment will explain display control of the present invention,which is applied to a case in which a window includes a plurality ofsub-windows, and each sub-window is resized by dragging a boundarybetween the neighboring sub-windows.

Some applications display using a window defined by a single area, andsome other applications display using a window including a plurality ofsub-windows. FIG. 11 shows an example of the latter application. In thiscase, using the plurality of sub-windows, the display efficiency can beimproved compared to a case of a single window, and a more comfortableuser interface can be provided.

When a window includes a plurality of sub-windows, it is a commonpractice to resize each sub-window in the window by dragging a boundarybetween the neighboring sub-windows. At this time, in the conventionalwindow configuration, ON/OFF of scrolling upon resizing needs to bedetermined in advance for each sub-window in case of resizing, or ascroll operation needs to be done after resizing.

For example, the left or top part of the display contents in eachsub-window is preferentially displayed in some cases. This is based onthe same situation as a window defined by a single area, that is, theidea that the first character of a sentence and the first line of a pageare to be preferentially displayed.

Therefore, in an example of a window divided into left and rightsub-windows, upon resizing the sub-windows by dragging a boundary, thedisplay contents of the left sub-window are not scrolled, and those ofthe right sub-window are scrolled. Likewise, in an example of a windowdivided into upper and lower sub-windows, the display contents of theupper sub-window are not scrolled, and those of the lower sub-window arescrolled.

By contrast, this embodiment provides a display control method thatallows to concurrently switch ON/OFF of scrolling of sub-windows on twosides of a boundary in real time during resizing upon resizing bydragging the boundary. Hence, in this embodiment, the need for fixingON/OFF of scrolling in advance can be obviated unlike in the relatedart.

Display control processing according to this embodiment will bedescribed below. In this embodiment, in order to control whether or notto scroll the display contents for each sub-window, the following fourcontrol modes are available. Note that a case will be examined belowwherein a window includes a sub-window on the first side with respect toa boundary, and that on the second side.

Control mode 1. resizing with scrolling of both the sub-windows on thefirst and second sides

Control mode 2. resizing with scrolling of the sub-window on the firstside and that without scrolling of the sub-window on the second side

Control mode 3. resizing without scrolling of the sub-window on thefirst side and that with scrolling of the sub-window on the second side

Control mode 4. resizing without scrolling of both the sub-windows onthe first and second sides

Note that the relationship between the sub-windows on the first andsecond sides can be considered as that between neighboring sub-windowson, for example, the left and right sides or the upper and lower sidesof the boundary.

FIG. 12 is a view for explaining this embodiment taking as an example awindow which is divided into left and right sub-windows as the first andsecond sub-windows. Note that the boundary that the user can drag is oneboundary per drag operation, and the same display control applies to awindow divided into upper and lower sub-windows as in that divided intothe left and right sub-windows.

In FIG. 12, a window 1200 is defined by borders 1201, 1202, 1203, and1204, and has sub-windows 1207, 1208, and 1209 partitioned by boundaries1205 and 1206.

Each of the boundaries 1205 and 1206 is divided into two regions. InFIG. 12, the upper half region is called a first region, and the lowerhalf region is called a second region. Note that the division method ismerely an example, and is not limited to that shown in FIG. 12. Forexample, the same division method of each border in the first embodimentmay be adopted.

In FIG. 12, the position of a cursor P can be expressed by P(Px, Py)based on an X-Y coordinate system 502 set on the display screen on whichthe window 1200 is displayed. Let LBy be the length of the boundary 1205within the window 1200, and BL(BLx, BLy) be the position of anintersection between the lower end of the boundary 1205 and the lowerborder 1202. Note that BLx corresponds to the position of the boundary1205 in the X direction.

Note that a condition (condition 1) required to locate the cursor P onthe first region is described by:

LBy/2≦Py−BLy≦LBy

Likewise, a condition (condition 2) required to locate the cursor P onthe second region is described by:

0<Py−BLy<LBy/2

Let QL(QLx, QLy) be the position of arbitrary display contents withinthe sub-window 1207 on the left side of the boundary 1205, and QR(QRx,QRy) be the position of arbitrary display contents within the sub-window1208 on the right side. The boundary 1205 will be described below.However, the scroll control of the display contents upon resizing thesub-windows with reference to the boundary 1206 can be similarlyexecuted.

Upon execution of resizing without scrolling of the sub-windows in caseof a drag operation, the following expression can be made in associationwith the positions QL and QR:

ΔQLx=ΔQRx=0  (10)

where ΔQLx and ΔQRx are differences of QLx and QRx before and afterresizing of the sub-windows.

Likewise, upon execution of resizing with scrolling of the sub-windows,the following expression can be made in association with the positionsQL and QR:

ΔQLx=ΔQRx=ΔPx  (11)

where ΔQLx and ΔQRx are differences of QLx and QRx before and afterresizing of the sub-windows. Likewise, ΔPx is a difference of Px beforeand after resizing of the sub-windows. Note that these differencescorrespond to the change amounts of the boundary 1205 in the Xdirection.

In this embodiment, the four types of resizing control of the controlmodes 1 to 4 are switched by combining dragging of the cursor which islocated on either the first or second region, and ON/OFF of the secondbutton operation.

In the control mode 1, the cursor located on the first region isdragged, and the second button is ON.

In the control mode 2, the cursor located on the first region isdragged, and the second button is OFF.

In the control mode 3, the cursor located on the second region isdragged, and the second button is ON.

In the control mode 4, the cursor located on the second region isdragged, and the second button is OFF.

In this way, the display control method according to this embodimentsimultaneously uses control based on the position of the cursor in the Ydirection used in the first and second embodiments, and control based onthe second button of the operation unit 109 used in the third embodimentin cooperation with each other. In case of any of the above fourpatterns, switching between resizing with scrolling and that withoutscrolling for each of the sub-windows on the two sides is controlledconcurrently during the single, continuous drag operation and cursormovement. The start and continuation of dragging are controlled byON/OFF of the first button of the operation unit 109 as in the aboveembodiments.

FIG. 13 shows an example of a change in display contents when the usermoves a boundary on a window divided by the single boundary.

In FIG. 13, reference numeral 1301 denotes a state before beginning ofdragging. In this state, a left sub-window displays alphabetical letters“ABD”, and a right sub-window displays three rows of numerals “1” to“9”.

In this display state of the window 1301, when the user locates thecursor on the second region, and drags it while the second button isOFF, a display state of a window 1302 is set. At this time, since boththe left and right sub-windows are not scrolled, letters “EE” hidden onthe left sub-window are newly displayed. On the other hand, on the rightsub-window, “1” and “2” are fully hidden and “3” is partially hidden bythe movement of the boundary.

When the user locates the cursor on the first region and drags it whilethe second button is ON, a display state of a window 1303 is set. Sinceboth the left and right sub-windows are scrolled, the display contentsnear the boundary remain unchanged, but those near the left and rightborders of the window are changed.

Furthermore, when the user locates the cursor on the second region anddrags it while the second button is ON, a display state of a window 1304is set. At this time, only the right sub-window is scrolled. Hence,alphabetical letters “FG” hidden on the left sub-window are newlydisplayed near the boundary. On the other hand, on the right sub-window,numerals “1 2 3” near the right border of the window, which weredisplayed on the window 1303, are hidden.

Moreover, when the user locates the cursor on the first region and dragsit while the second button is OFF, a display state like a window 1305 isset. At this time, only the left sub-window is scrolled. Hence, on theleft sub-window, alphabetical letters “AB” hidden near the left borderof the window are displayed. On the other hand, since the rightsub-window is not scrolled, numerals “3 4 5 6” are hidden by theboundary.

The sequence of the aforementioned window resizing processing will bedescribed below with reference to the flowchart of FIG. 14. FIG. 14 is aflowchart showing an example of the window resizing processing accordingto the fourth embodiment. The processing corresponding to the flowchartshown in FIG. 14 is implemented when a CPU 101 reads out a correspondingprocessing program stored in an HD 103 onto a RAM 102 and executes thatprogram to control respective components.

Note that FIG. 14 describes a case in which the user resizes thesub-windows by dragging the boundary 1205 of the window 1200. However,the embodiment of the invention is not limited to the case in which theboundary 1205 is dragged. That is, the same processing as in FIG. 14 canresize the sub-windows by dragging the boundary 1206 or anotherboundary.

In step S1401, the CPU 101 acquires operation information (informationof a first instruction operation) of a first button of a mouse 120 ordigital pen 130 of the operation unit 109, and information (movinginformation) of the moving direction and amount of the mouse 120 ordigital pen 130. Note that the first button corresponds to a left button121 of the mouse 120 if the mouse 120 is used in the default settings ofMicrosoft Windows®. Also, the first button corresponds to a tip switch131 at the pen tip of the digital pen 130.

The CPU 101 determines in step S1402 based on the operation informationof the first button acquired in step S1401 whether or not the firstbutton is switched from OFF to ON. If it is determined that the firstbutton is switched to ON (“YES” in step S1402), the process advances tostep S1403. On the other hand, if it is determined that the first buttonis kept OFF without being switched to ON (“NO” in step S1402), theprocess returns to step S1401 to continue the processing.

In step S1403, the CPU 101 calculates the position coordinate of thecursor P (cursor position coordinate) based on the moving amountinformation acquired in step S1401 to determine on which boundary of thewindow 1200 the cursor is located. This determination process can beattained by seeing which predetermined region set based on theboundaries included in the window 1200 includes the cursor positioncoordinate.

If it is determined that the cursor is located on the boundary 1205 ofthe window 1200 (“boundary 1205” in step S1403), it can be determinedthat the user begins to drag the boundary 1205. In this case, theprocess advances to step S1404. On the other hand, if the cursor islocated on one of the remaining boundaries (on the boundary 1206 or thelike) (“another” in step S1403), it can be determined that the userbegins to drag another boundary. In this case, the process advances tostep S1405. In step S1405, the CPU 101 executes window resizingprocessing by dragging of another boundary.

In step S1404, the CPU 101 determines the position coordinates P(Px,Py), BL(BLx, BLy), QL(QLx, QLy), and QR(QRx, QRy) at the beginning ofdragging, as shown in FIG. 12, for the window which begins to bedragged. Note that the definitions of respective coordinates are thesame as those described above.

In step S1406, the CPU 101 further acquires the information of the firstinstruction operation and moving amount information, and also operationinformation of the second button (information of a second instructionoperation) of the mouse 120 or digital pen 130 of the operation unit109. Also, the CPU 101 updates the cursor position coordinate P(Px, Py)based on the moving amount information. The CPU 101 then determines instep S1407 whether or not the first button is kept ON. If the firstbutton is not kept ON but is switched to OFF (“NO” in step S1407), thisprocessing ends. In this case, a so-called “drop” operation is made.

On the other hand, if the first switch is kept ON (“YES” in step S1407),the process advances to step S1408. In step S1408, the CPU 101 sets theX component BLx of the end position BL of the boundary 1205 to match theX component Px of the cursor position P updated in step S1406. In thisway, the position of the boundary 1205 follows the cursor movement.

The CPU 101 determines in step S1409 based on the coordinate Py of thecursor position in the Y direction obtained in step 1406 on which of thefirst and second regions the cursor P is located and based on theoperation information of the second button if the second button is ON.

If the cursor P is located on the first region, and the second button isON, the process advances to step S1410. If the cursor P is located onthe first region, and the second button is OFF, the process advances tostep S1411. Furthermore, if the cursor P is located on the secondregion, and the second button is ON, the process advances to step S1412.Moreover, if the cursor P is located on the second region, and thesecond button is OFF, the process advances to step 1413.

In step S1410, the CPU 101 sets the moving amount ΔQLx of the positionQL of the arbitrary display contents in the X direction on the leftsub-window 1207 as the first side of the boundary 1205 to be equal tothe moving amount ΔPx of the cursor P in the X direction. Also, the CPU101 sets the moving amount ΔQRx of the position QR of the arbitrarydisplay contents in the X direction on the right sub-window 1208 as thesecond side of the boundary 1205 to be equal to the moving amount ΔPx ofthe cursor P in the X direction. As a result, the display contents onthe sub-windows are scrolled by a size corresponding to the changeamount of the boundary 1205 in the X direction.

In step S1411, the CPU 101 sets the moving amount ΔQLx of the positionQL of the arbitrary display contents in the X direction on the leftsub-window 1207 as the first side of the boundary 1205 to be equal tothe moving amount ΔPx of the cursor P in the X direction. Also, the CPU101 sets the moving amount ΔQRx of the position QR of the arbitrarydisplay contents in the X direction on the right sub-window 1208 as thesecond side of the boundary 1205 to be zero. In this way, the displaycontents on the left sub-window 1207 are scrolled by a sizecorresponding to the change amount of the boundary 1205 in the Xdirection. On the other hand, the display contents on the rightsub-window 1208 are not scrolled.

In step S1412, the CPU 101 sets the moving amount ΔQLx of the positionQL of the arbitrary display contents in the X direction on the leftsub-window 1207 as the first side of the boundary 1205 to be zero. Also,the CPU 101 sets the moving amount ΔQRx of the position QR of thearbitrary display contents in the X direction on the right sub-window1208 as the second side of the boundary 1205 to be equal to the movingamount ΔPx of the cursor P in the X direction. In this way, the displaycontents on the left sub-window 1207 are not scrolled. On the otherhand, the display contents on the right sub-window 1208 are scrolled bya size corresponding to the change amount of the boundary 1205 in the Xdirection.

In step S1413, the CPU 101 sets the moving amount ΔQLx of the positionQL of the arbitrary display contents in the X direction on the leftsub-window 1207 as the first side of the boundary 1205 to be zero. Also,the CPU 101 sets the moving amount ΔQRx of the position QR of thearbitrary display contents in the X direction on the right sub-window1208 as the second side of the boundary 1205 to be zero. In this way,the display contents on the sub-windows 1207 and 1208 are not scrolled.

In step S1414, the CPU 101 updates displays of the cursor and window1200. The CPU 101 executes this updating process based on the positionBLx of the boundary 1205 determined in step S1408, and the movingamounts ΔQLx and ΔQRx determined in any of steps S1410 to S1413. Afterthat, the process returns to step S1406 to continue the processing.

Note that a loop from step S1406 to step S1412 represents cursormovement during dragging, that is, that dragging is continued andresizing of the window is in progress during this loop. When the controlleaves this loop, this represents that the drop operation is made tosettle the window size.

The operation of this embodiment has been described. Note that the samedisplay control method according to this embodiment can be applied tonot only the window of the configuration shown in FIGS. 12 and 13 butalso to a window divided into upper and lower sub-windows. Furthermore,the method of this embodiment can be applied to a window divided intoupper, lower, left and right sub-windows, as shown in FIG. 11.

The window shown in FIG. 11 is normally configured, so that a boundarywhich divides the upper and lower sub-windows and that which divides theright and left sub-windows are independently operable. Hence, byexecuting the same processing as that shown in FIG. 14 in turn to theseboundaries, the display control method of this embodiment can beapplied.

In this case, the first and second regions are required to be defined oneach boundary. As shown in FIG. 15A, the length of each boundary may beequally divided. Alternatively, as shown in FIG. 15B, a part divided byan intersection of the vertical and horizontal boundaries may be equallydivided. In case of FIG. 15B, the lengths of the first and secondregions change sequentially depending on the position of theintersection.

As described above, according to this embodiment, when a windows isdivided into sub-windows by a boundary, the change method of the displaycontents in the sub-windows can be controlled simultaneously withresizing of the sub-windows. In this way, a desired display result canbe obtained by a series of operations, thus improving the workefficiency.

Fifth Embodiment

This embodiment proposes display control which is executed inassociation with the scrolling ON/OFF control method upon resizing awindow, that is proposed by the present invention.

Conventionally, display control executed upon resizing includes controlfor switching ON/OFF of scrolling or a scroll ratio of the displaycontents according to dragging of a border or corner, control forreducing or enlarging the display contents according to dragging of aborder or corner, or the like.

In general, when the display contents are scrolled upon resizing, thecontents on an area opposite to the dragged part are hidden. On theother hand, when the display contents are not scrolled upon resizing,the contents of an area near the dragged part are hidden. (Note that the“area opposite to the dragged part” is an area near a border opposite tothe dragged border, or an area near two borders that do not contact thedragged corner. The “area near the dragged part” is an area near thedragged border or an area near two borders that contact the draggedcorner.)

When a part of the window is hidden, the usability may often beimpaired. Hence, it is desired to display such part althoughimperfectly. Hence, in this embodiment, object images such ascharacters, patterns, photos, and the like, which are located on an areato be normally hidden, are displayed while being jammed into the area tobe hidden, so as to allow the user to see them.

For example, display contents shown in FIG. 16 are assumed. This may bea normal window described in the first embodiment or may be a windowwhich is described in the second embodiment, and is always maximized inone direction (Y direction) within the display screen. In FIG. 16, aleft border 1601 is movable by dragging, and a window 1600 can beresized by moving this border 1601.

FIGS. 17A and 17B show display examples when the user resizes (reduces)the window by dragging the border in this embodiment. FIG. 17A shows adisplay example upon resizing with scrolling. With this display control,respective objects move to the right upon resizing, and their movementstops when these objects are brought into contact with the opposingborder. In this case, the objects are displayed to overlap each othernear the opposing border.

FIG. 17B shows a display example upon resizing without scrolling. Withthis display control, since scrolling is not made, all objects aredisplayed without moving their position at the beginning of dragging ofthe border. However, when the dragged border moves to the right and isbrought into contact with respective objects, these objects begin tomove to the right. In this case, the objects are displayed to overlapeach other near the dragged border. As the overlapping order, a newlystopped object may be displayed in front of or behind a preexistentobject.

According to such display control, display control as if objectsattached to a window were being scooped by a wiper can be implemented,and objects which are normally hidden are displayed althoughimperfectly, thus improving the usability.

FIGS. 18A and 18B show display examples upon resizing a window bydragging one corner of the window.

FIG. 18A shows a display example upon resizing with scrolling, and FIG.18B shows that upon resizing without scrolling. The respectiveoperations have the same contents described using FIGS. 17A and 17B forX and Y components.

In order to allow the user to recognize an object group to be normallyhidden more easily, a method shown in FIGS. 19A and 19B is alsoavailable. FIG. 19A shows a display example upon resizing withscrolling. In this case, the following display control is executed. Thatis, respective objects move to the right upon resizing, and theirmovement stops when respective objects are brought into contact with theopposing border. In addition, when such object is brought into contactwith another object whose movement has already stopped previously, themovement of that object stops at that time. As a result, objects aredisplayed not to overlap each other unlike in FIG. 17B.

FIG. 19B shows a case upon resizing without scrolling. The followingdisplay control is executed. That is, all objects stand still initially.When the dragged border moves to the right and is brought into contactwith respective objects, these objects begin to move to the right. Inaddition, when the objects which have already begun to move are broughtinto contact with other objects, the other objects begin to move at thattime. As a result, objects are displayed not to overlap each otherunlike in FIG. 17B.

Note that upon resizing using the corner, the operations have the samecontents for X and Y components.

The display control processing according to this embodiment will bedescribed below with reference to the flowchart shown in FIG. 20. FIG.20 is a flowchart showing an example of the window resizing processingcorresponding to the display examples shown in FIGS. 17A and 17B. Theprocessing corresponding to the flowchart shown in FIG. 20 isimplemented when a CPU 101 reads out a corresponding processing programstored in an HD 103 onto a RAM 102 and executes that program to controlrespective components.

The CPU 101 determines in step S2001 whether or not the user begins todrag a border. If the user begins to drag the border (“YES” in stepS2001), the process advances to step S2002. The CPU 101 determines instep S2002 if scrolling is ON simultaneously with resizing of a windowby dragging. If it is determined that scrolling is OFF (“NO” in stepS2002), the process advances to step S2003; otherwise (“YES” in stepS2002), the process advances to step S2005. Note that ON/OFF ofscrolling can be determined according to the processes described in thefirst to fourth embodiments.

A case will be examined below wherein a display area of an object O isexpressed by O{(O1x, O1y), (O2x, O2y)}. Note that (O1x, O1y) representsthe coordinates of the upper left end of the object, and (O2x, O2y)represents the coordinates of the lower right end of the object. Notethat the left direction corresponds to a negative direction of theX-axis on an X-Y coordinate system 502 set in association with thedisplay screen, and the up direction corresponds to a positive directionof the Y-axis. Likewise, the right direction corresponds to a positivedirection of the X-axis, and the down direction corresponds to anegative direction of the Y-axis. Let ΔO(ΔO1x, ΔO2x) be a change indisplay area O in the X-axis direction.

If it is determined in step S2002 that scrolling is OFF, the displayposition of the object O is basically not changed. That is, the changeamount ΔO=(0, 0) of the coordinates of the display area. On the otherhand, if it is determined in step S2002 that scrolling is ON, thedisplay position of the object O is changed according to the dragamount. For example, letting Bx be the coordinate of the dragged borderin the X direction, and ABx be the moving amount, the change amountΔOx=(ΔBx, ΔBx) of the display area of the object in the X direction.Note that display of such standard objects is not the gist of thisembodiment, and is not described in the flowchart of FIG. 20. However,in practice, this display control is applied to objects which do notcontact the dragged border or opposing border.

The following explanation will continue while focusing on an objectwhich is in contact with the dragged border or its opposing border.

The CPU 101 determines in step S2003 whether or not there is an objectwhich is in contact with the dragged border. This determination processcan be attained by comparing the coordinates of the display position ofthe object, and those of the dragged border. At this time, when theX-coordinate Bx of the dragged border falls within a range O1x≦Bx≦O2x,it can be considered that the object is in contact with the draggedborder. Note that since the flowchart of FIG. 20 assumes the case ofFIGS. 17A and 17B, that is, the case of dragging the border in the Xdirection, only the coordinate in the X-axis direction is considered. Inaddition, when a border also moves in the Y direction, whether or not anobject is in contact with the dragged border can be determined by seeingwhether or not the position By of the border in the Y direction fallswithin the range of that object.

If it is determined that there is an object that is in contact with thedragged border (“YES” in step S2003), the process advances to stepS2004. On the other hand, if it is determined that there is no objectthat is in contact with the dragged border (“NO” in step S2003), theprocess jumps to step S2007.

In step S2004, the CPU 101 changes the display position of the objectwhich is determined to contact the border according to the moving amountABx of the border. That is, the CPU 101 sets the moving amount ΔOx=(0,0) of the object before contact to be equal to ΔOx=(ΔBx, ΔBx), so as tobe matched with the moving amount of the dragged border. As a result, ifscrolling is OFF, the display position of the object which is in contactwith the dragged border can be moved and displayed together with thedragged border. After that, the process advances to step S2007.

If scrolling is executed simultaneously with dragging of the border, theCPU 101 determines in step S2005 whether or not there is an object thatis in contact with the border opposite to the dragged border.

In this case as well, letting BOx be the X-coordinate of the opposingborder, if BOx falls within a range O1x≦BOx≦O2x, it can be consideredthat the object is in contact with the opposing border. Note that sincethe flowchart of FIG. 20 assumes the case of FIGS. 17A and 17B, that is,the case of dragging the border in the X direction, only the coordinatein the X-axis direction is considered. In addition, when a border alsomoves in the Y direction, whether or not an object is in contact withthe opposing border can be determined by seeing whether or not theposition BOy of the opposing border in the Y direction falls within therange of that object.

If it is determined that there is an object that contacts the opposingborder (“YES” in step S2005), the process advances to step S2006. On theother hand, if it is determined that there is no object that contactsthe opposing border (“NO” in step S2005), the process jumps to stepS2007.

In step S2006, the CPU 101 fixes the display position of the objectwhich is determined to contact at the current display position. That is,the object is scrolled before contact to have ΔOx=(ΔBx, ΔBx) inaccordance with the change amount by dragging, and its scrolling isstopped to have ΔOx=(0, 0). In this way, even when scrolling is executedas a whole, the display position of the object which is in contact withthe opposing border is fixed near the opposing border, so that theobject stays within the window display area. After that, the processadvances to step S2007.

In step S2007, the CPU 101 updates display of the object which is incontact with the border based on the moving amount of the objectdetermined in step S2004 or S2006. The CPU 101 updates display of otherobjects according to ON/OFF of scrolling based on the determinationresult in step S2002.

The CPU 101 determines in step S2008 whether or not the user endsdragging. If it is determined that the user ends dragging (“YES” in stepS2008), this processing ends. On the other hand, if it is determinedthat the user does not end dragging (“NO” in step S2008), the processreturns to step S2002 to continue the processing.

The processing has been described taking as an example the case of FIGS.17A and 17B. By extending the aforementioned processing also in the Ydirection, the display control corresponding to FIGS. 18A and 18B can beimplemented. As for display associated with FIGS. 19A and 19B, whetheror not objects are in contact with each other needs to be furtherdetermined. Then, in case of “with scrolling”, upon detection of acontact with the border or object, a change in display position of thatobject is stopped (i.e., ΔOx=(0, 0)). On the other hand, in case of“without scrolling”, upon detection of a contact with the border orobject, a change in display position of that object is started (i.e.,ΔOx=(ΔBx, ΔBx)).

Furthermore, even when a window is divided into sub-windows by aboundary like in the fourth embodiment, the display control of objectswithin a display area can be implemented based on the presence/absenceof a contact with the boundary or border in the same manner as describedabove.

As described above, even when the display contents are scrolledsimultaneously with dragging, when an object in the display contents isin contact with an element (border or boundary) of the window, scrollingof the contact object can be suppressed. Even when the display contentsare not scrolled simultaneously with dragging, when an object in thedisplay contents is in contact with an element (border or boundary) ofthe window, the contact object can be scrolled.

On the other hand, even when the display contents are scrolledsimultaneously with dragging, when an object in the display contents isin contact with another object whose scrolling has already beensuppressed, scrolling of the contact object can also be suppressed. Evenwhen the display contents are not scrolled simultaneously with dragging,when an object in the display contents is in contact with another objectwhich has already been scrolled, the contact object can also bescrolled.

In this way, display control as if objects attached to a window werebeing scooped by a wiper can be implemented, and objects which arenormally hidden are displayed although imperfectly, thus furtherimproving the usability.

Other Embodiments

The above-described exemplary embodiments of the present invention canalso be achieved by providing a computer-readable storage medium thatstores program code of software (computer program) which realizes theoperations of the above-described exemplary embodiments, to a system oran apparatus. Further, the above-described exemplary embodiments can beachieved by program code (computer program) stored in a storage mediumread and executed by a computer (CPU or micro-processing unit (MPU)) ofa system or an apparatus.

The computer program realizes each step included in the flowcharts ofthe above-mentioned exemplary embodiments. Namely, the computer programis a program that corresponds to each processing unit of each stepincluded in the flowcharts for causing a computer to function. In thiscase, the computer program itself read from a computer-readable storagemedium realizes the operations of the above-described exemplaryembodiments, and the storage medium storing the computer programconstitutes the present invention.

Further, the storage medium which provides the computer program can be,for example, a floppy disk, a hard disk, a magnetic storage medium suchas a magnetic tape, an optical/magneto-optical storage medium such as amagneto-optical disk (MO), a compact disc (CD), a digital versatile disc(DVD), a CD read-only memory (CD-ROM), a CD recordable (CD-R), anonvolatile semiconductor memory, a ROM and so on.

Further, an OS or the like working on a computer can also perform a partor the whole of processes according to instructions of the computerprogram and realize functions of the above-described exemplaryembodiments.

In the above-described exemplary embodiments, the CPU jointly executeseach step in the flowchart with a memory, hard disk, a display deviceand so on. However, the present invention is not limited to the aboveconfiguration, and a dedicated electronic circuit can perform a part orthe whole of processes in each step described in each flowchart in placeof the CPU.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2007-186326, filed Jul. 17, 2007, which is hereby incorporated byreference herein in its entirety.

1. (canceled)
 2. An information processing apparatus comprising: aninput unit configured to receive drag of a border of a window displayedon a display screen of a display unit; and a control unit configured toresize the window with scrolling a content displayed in the window whena first region of the border of the window is dragged and withoutscrolling the content when a second region of the border of the windowis dragged.
 3. An information processing method comprising: receivingdrag of a border of a window displayed on a display screen of a displayunit; and resizing the window with scrolling a content displayed in thewindow when a first region of the border of the window is dragged andwithout scrolling the content when a second region of the border of thewindow is dragged.
 4. A computer program stored in a computer readablemedium for causing a computer to perform an information processingmethod comprising: receiving drag of a border of a window displayed on adisplay screen of a display unit; and resizing the window with scrollinga content displayed in the window when a first region of the border ofthe window is dragged and without scrolling the content when a secondregion of the border of the window is dragged.